#pragma once
#include "Colider.h"
#include "glutKeyboardManager.h"
#include "glutMouseManager.h"
#include "Camara.h"
#include "Bullet.h"
#include "OctTree.h"

#define MAX_BULETS 10

class Player
{
private:

	static const Vector3<float> CAMARA_SHIFT;
	static const float MOVMENT_SPEED;
	static const float MAX_SPEED;

	static const float JUMP_POWER;
	static const float GRAVITY;

	bool _canJump;
	bool _moving;

	Camara* _view;

	Colider* _model;

	Vector3<float> _velocity;

public:
	Bullet _bullets[MAX_BULETS];

	Player(Vector3<float> pos);
	~Player(void);

	void Update();
	void Draw();

	Colider* Model();

	void TranslateTo(Vector3<float> destination);
	void Translate(Vector3<float> distance);

	Vector3<float> Position();

	void TreeManagment(OctTree* tree);

	void Shoot();

	void KeyboardInput();
	void MouseInput();
};

